package com.cipe.cmrs.bean;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.springframework.util.AutoPopulatingList;

import com.cipe.cmrs.model.User;

public class PaymentRequestBean {
    private User user;
    private Integer id;
    private Integer paymentTypeId;
    private String paymentTypeDesc;
    private String paymentIdentifiedInformation = "";
    private Date receivedFromAccountingDate;
    private String paymentMethod = "";
    private Integer payeeId = 0;
    private Integer prevPayeeId = 0;
    private String payeeDesc;
    private String purposeOfExpenditure = "";
    private String specialInstructions = "";
    private Date invoiceRequestDate;
    private Date prevInvoiceRequestDate;
    private String invoicenumber = "";
    private String prevInvoicenumber = "";
    private Date dateToFinanace;
    private String statusCode = "";
    private BigDecimal amount = BigDecimal.ZERO;
    private BigDecimal prevAmount = BigDecimal.ZERO;;
    private String currentlyresponsible = "";
    private Integer createdById;
    private String createdBy;
    private Date creationDate;
    private Integer updatedById;
    private String updatedBy;
    private Date updationDate;
    private Date dateforwardedforsignature;
    private Date datesubmittedforpayment;
    private Date datePaid;
    private Date dateCancelled;
    private Date dateRejected;
    private Date dateResubmitted;
    private Date dateCancelRequested;
    private String comments;
    private String reasonrejected;
    private String paymentConfirmationNumber;
    private String sourceDocumentType;
    private List<PaymentRequestLineItemBean> lineItemBeans = new AutoPopulatingList<PaymentRequestLineItemBean>(
            PaymentRequestLineItemBean.class);
    private Boolean sixFiveSeventyVerify;
    
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        if (createdBy == null) {
            createdBy = user.getFullName();
        } else {
            updatedBy = user.getFullName();
        }
        this.user = user;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getPaymentTypeId() {
        return paymentTypeId;
    }

    public void setPaymentTypeId(Integer paymentTypeId) {
        this.paymentTypeId = paymentTypeId;
    }

    public String getPaymentTypeDesc() {
        return paymentTypeDesc;
    }

    public void setPaymentTypeDesc(String paymentTypeDesc) {
        this.paymentTypeDesc = paymentTypeDesc;
    }

    public String getPaymentIdentifiedInformation() {
        return paymentIdentifiedInformation;
    }

    public void setPaymentIdentifiedInformation(String paymentIdentifiedInformation) {
        this.paymentIdentifiedInformation = paymentIdentifiedInformation;
    }

    public Date getReceivedFromAccountingDate() {
        return receivedFromAccountingDate;
    }

    public void setReceivedFromAccountingDate(Date receivedFromAccountingDate) {
        this.receivedFromAccountingDate = receivedFromAccountingDate;
    }

    public String getPaymentMethod() {
        return paymentMethod;
    }

    public void setPaymentMethod(String paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    public Integer getPayeeId() {
        return payeeId;
    }

    public void setPayeeId(Integer payeeId) {
        this.payeeId = payeeId;
    }

    public Integer getPrevPayeeId() {
        return prevPayeeId;
    }

    public void setPrevPayeeId(Integer prevPayeeId) {
        this.prevPayeeId = prevPayeeId;
    }

    public String getPayeeDesc() {
        return payeeDesc;
    }

    public void setPayeeDesc(String payeeDesc) {
        this.payeeDesc = payeeDesc;
    }

    public String getPurposeOfExpenditure() {
        return purposeOfExpenditure;
    }

    public void setPurposeOfExpenditure(String purposeOfExpenditure) {
        this.purposeOfExpenditure = purposeOfExpenditure;
    }

    public String getSpecialInstructions() {
        return specialInstructions;
    }

    public void setSpecialInstructions(String specialInstructions) {
        this.specialInstructions = specialInstructions;
    }

    public Date getInvoiceRequestDate() {
        return invoiceRequestDate;
    }

    public void setInvoiceRequestDate(Date invoiceRequestDate) {
        this.invoiceRequestDate = invoiceRequestDate;
    }

    public Date getPrevInvoiceRequestDate() {
        return prevInvoiceRequestDate;
    }

    public void setPrevInvoiceRequestDate(Date prevInvoiceRequestDate) {
        this.prevInvoiceRequestDate = prevInvoiceRequestDate;
    }

    public String getInvoicenumber() {
        return invoicenumber;
    }

    public void setInvoicenumber(String invoicenumber) {
        this.invoicenumber = invoicenumber;
    }

    public String getPrevInvoicenumber() {
        return prevInvoicenumber;
    }

    public void setPrevInvoicenumber(String prevInvoicenumber) {
        this.prevInvoicenumber = prevInvoicenumber;
    }

    public Date getDateToFinanace() {
        return dateToFinanace;
    }

    public void setDateToFinanace(Date dateToFinanace) {
        this.dateToFinanace = dateToFinanace;
    }

    public String getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(String statusCode) {
        this.statusCode = statusCode;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getPrevAmount() {
        return prevAmount;
    }

    public void setPrevAmount(BigDecimal prevAmount) {
        this.prevAmount = prevAmount;
    }

    public String getCurrentlyresponsible() {
        return currentlyresponsible;
    }

    public void setCurrentlyresponsible(String currentlyresponsible) {
        this.currentlyresponsible = currentlyresponsible;
    }

    public Integer getCreatedById() {
        return createdById;
    }

    public void setCreatedById(Integer createdById) {
        this.createdById = createdById;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreationDate() {
        return creationDate;
    }

    public void setCreationDate(Date creationDate) {
        this.creationDate = creationDate;
    }

    public Integer getUpdatedById() {
        return updatedById;
    }

    public void setUpdatedById(Integer updatedById) {
        this.updatedById = updatedById;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public Date getUpdationDate() {
        return updationDate;
    }

    public void setUpdationDate(Date updationDate) {
        this.updationDate = updationDate;
    }

    public Date getDateforwardedforsignature() {
        return dateforwardedforsignature;
    }

    public void setDateforwardedforsignature(Date dateforwardedforsignature) {
        this.dateforwardedforsignature = dateforwardedforsignature;
    }

    public Date getDatesubmittedforpayment() {
        return datesubmittedforpayment;
    }

    public void setDatesubmittedforpayment(Date datesubmittedforpayment) {
        this.datesubmittedforpayment = datesubmittedforpayment;
    }

    public Date getDatePaid() {
        return datePaid;
    }

    public void setDatePaid(Date datePaid) {
        this.datePaid = datePaid;
    }

    public Date getDateCancelled() {
        return dateCancelled;
    }

    public void setDateCancelled(Date dateCancelled) {
        this.dateCancelled = dateCancelled;
    }

    public Date getDateRejected() {
        return dateRejected;
    }

    public void setDateRejected(Date dateRejected) {
        this.dateRejected = dateRejected;
    }

    public Date getDateResubmitted() {
        return dateResubmitted;
    }

    public void setDateResubmitted(Date dateResubmitted) {
        this.dateResubmitted = dateResubmitted;
    }

    public Date getDateCancelRequested() {
        return dateCancelRequested;
    }

    public void setDateCancelRequested(Date dateCancelRequested) {
        this.dateCancelRequested = dateCancelRequested;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getReasonrejected() {
        return reasonrejected;
    }

    public void setReasonrejected(String reasonrejected) {
        this.reasonrejected = reasonrejected;
    }

    public String getPaymentConfirmationNumber() {
        return paymentConfirmationNumber;
    }

    public void setPaymentConfirmationNumber(String paymentConfirmationNumber) {
        this.paymentConfirmationNumber = paymentConfirmationNumber;
    }

    public String getSourceDocumentType() {
        return sourceDocumentType;
    }

    public void setSourceDocumentType(String sourceDocumentType) {
        this.sourceDocumentType = sourceDocumentType;
    }

    public List<PaymentRequestLineItemBean> getLineItemBeans() {
        return lineItemBeans;
    }

    public void setLineItemBeans(List<PaymentRequestLineItemBean> lineItemBeans) {
        this.lineItemBeans = lineItemBeans;
    }

    public Boolean getSixFiveSeventyVerify() {
        return sixFiveSeventyVerify;
    }

    public void setSixFiveSeventyVerify(Boolean sixFiveSeventyVerify) {
        this.sixFiveSeventyVerify = sixFiveSeventyVerify;
    }

}